//**************************************************************
//					新人研修用ソースプログラム	
//**************************************************************
//ファイル名：practice6_2.c						
//**************************************************************

//===========================						
//インクルード
//===========================
#include<stdio.h>
#include<stdlib.h>

//===========================
//プロトタイプ宣言
//===========================
int sum(int, int);
int difference(int, int);
int product(int, int);
int quotient(int, int); 

//*********************************************************************
//機能名称　：メイン関数
//
//関数名　　：int main(void)
//引数　　　：なし
//戻り値　　：常に0
//機能　　　：	
//*********************************************************************	
int main(void)	
{	
	unsigned int input_num_a;
	unsigned int input_num_b;

	printf("2つの数値の和差積商を計算します。\n");
	printf("1つ目の正の数を代入してください\n");
	scanf("%d",&input_num_a);
	printf("2つ目の正の数を代入してください\n");
	scanf("%d",&input_num_b);

	//計算関数の呼び出し
	printf("和は%dです。\n", sum(input_num_a, input_num_b));
	printf("差は%dです。\n", abs(difference(input_num_a, input_num_b)));
	printf("積は%dです。\n", product(input_num_a, input_num_b));
	printf("商は%dです。\n", quotient(input_num_a, input_num_b));

	return 0;		
}			

//*********************************************************************
//機能名称　：加算関数
//
//関数名　　：int main(int, int)
//引数　　　：int num_a
//			：int num_b
//戻り値　　：num_a + num_b
//機能　　　：num_aとnum_bの和を求める。
//*********************************************************************	
int sum(int num_a, int num_b)			
{
	return (num_a + num_b);
}

//*********************************************************************
//機能名称　：減算関数
//
//関数名　　：int difference(int, int)
//引数　　　：int num_a
//			：int num_b
//戻り値　　：num_a - num_b
//機能　　　：num_aとnum_bの差を求める。
//*********************************************************************	
int difference(int num_a, int num_b)			
{
	return (num_a - num_b);
}

//*********************************************************************
//機能名称　：乗算関数
//
//関数名　　：int product(int, int)
//引数　　　：int num_a
//			：int num_b
//戻り値　　：num_a * num_b
//機能　　　：num_aとnum_bの積を求める。
//*********************************************************************	
int product(int num_a, int num_b)			
{
	return (num_a * num_b);
}

//*********************************************************************
//機能名称　：除算関数
//
//関数名　　：int quotient(int, int)
//引数　　　：int num_a
//			：int num_b
//戻り値　　：ans　0除算の場合は、-1を格納。
//機能　　　：num_aとnum_bの商を求める。
//*********************************************************************	
int quotient(int num_a, int num_b)			
{
	int ans;
	
	if(num_b == 0){
		ans = -1;
	}
	else{
		ans = (num_a / num_b);
	}	
	return ans;
}
